var mail="";

//Funci�n que hace la validaci�n para se ingresen s�lo n�meros
function soloNumeros(evt){
    // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
    var key = evt.keyCode ? evt.keyCode : evt.which ;
    //alert(evt.which  || ' ' || evt.keyCode);
    return (key == 8 || key == 9 || key == 13 || (key >= 48 && key <= 57) || evt.keyCode == 37 || evt.keyCode == 39);
}

//Funci�n que hace la validaci�n para se ingresen s�lo letras
function soloLetras(evt){
    var key = evt.keyCode ? evt.keyCode : evt.which ;
    return (key == 8 || key == 9 || key == 13 || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || evt.keyCode == 37 || evt.keyCode == 39);
}

//Funci�n que hace la validaci�n para que se ingresen letras y n�meros
function letrasYNumeros(evt){
    return (soloNumeros(evt) || soloLetras(evt));
}

//Funci�n para validar que en la contrase�a s�lo hayan N�meros, Letras, y los s�m
function validarPassword(evt){
    if(soloNumeros(evt) || soloLetras(evt) || evt.which==42 || evt.which==43 || evt.which==45)
        return true;
    return false;
}

//Funci�n que hace la validaci�n para nombres y apellidos, teniendo en cuenta los espacios
function validaNombYApe(evt){
    if(soloLetras(evt) || evt.which==32 || evt.keyCode==27)
        return true;
    return false;
}

//Funci�n que valida si una direcci�n est� bien
function validarDireccion(evt){
    if(soloNumeros(evt) || soloLetras(evt) || evt.which==35 || evt.which==45 || evt.which==32 || evt.keyCode==27){
        document.formRegCliente.direccion.style.backgroundColor='White';
        return true;
    }else{
        document.formRegCliente.direccion.style.backgroundColor='Red';
        return false;
    }
}

//Este m�todo, hace varias validaciones sobre el Formulario de Registro de Clientes, en donde se hace el manejo del color de Foco.
function validacionesForm(evt,validac){
    switch(validac){
        case 1:
            if(soloNumeros(evt) || evt.keyCode==27){
                document.formRegCliente.cedula.style.backgroundColor='White';
                return true;
            }else{
                document.formRegCliente.cedula.style.backgroundColor='Red';
                return false;
            }
            break;
        case 2:
            if(validaNombYApe(evt)){
                document.formRegCliente.nombres.style.backgroundColor='White';
                return true;
            }else{
                document.formRegCliente.nombres.style.backgroundColor='Red';
                return false;
            }
            break;
        case 3:
            if(validaNombYApe(evt)){
                document.formRegCliente.apellidos.style.backgroundColor='White';
                return true;
            }else{
                document.formRegCliente.apellidos.style.backgroundColor='Red';
                return false;
            }
            break;
        case 4:
            if(soloNumeros(evt) || evt.keyCode==27){
                document.formRegCliente.telefono.style.backgroundColor='White';
                return true;
            }else{
                document.formRegCliente.telefono.style.backgroundColor='Yellow';
                return false;
            }
            break;
    }
}

//Funci�n que valida si un e-mail ingresado, est� escrito correcta o incorrectamente
function validarEmail(evt){
    var expReg  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9]))+.+(.[a-zA-Z0-9]{2,3})+$/;
    //var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
    //var expReg  = /^\w+([\.-_]?\w+)*@\w+([\.-_]?\w+)*(\.\w{2,3})+$/;
    mail = document.getElementById("txtMail");
    //var caracter = String.fromCharCode(evt.keyCode);
    
    if (expReg.test(mail.value)) {
        mail.style.borderColor='Gray';
    //return true;
    }else{
        mail.style.borderColor='Red';
    //return false;
    }
}

function validarEmailFin(){
    var expReg  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9]))+.+(.[a-zA-Z0-9]{2,3})+$/;
    //var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
    //var expReg  = /^\w+([\.-_]?\w+)*@\w+([\.-_]?\w+)*(\.\w{2,3})+$/;
    mail = document.getElementById("txtMail");
    //var caracter = String.fromCharCode(evt.keyCode);
    if(mail == null)
        mail = document.getElementById("txtMail1");

    if (expReg.test(mail.value)) {
        mail.style.borderColor='Gray';
        return true;
    }else{
        mail.style.borderColor='Red';
        return false;
    }
}

//Se ejecuta al presionar el bot�n Guardar sobre el Formulario de Registro de Clientes
function verificarDatos(formulario){
    if(formulario.cedula.value.length==0 || formulario.nombres.value.length==0 || formulario.apellidos.value.length==0 ||
        formulario.direccion.value.length==0	|| formulario.fechaNac.value.length==0 || formulario.edad.value == 0){
        alert("Faltan campos obligatorios por llenar");
        return false;
    }else{
        alert("Campos diligenciados");
        return true;
    }
}

function verificarPassword(pass){
    if(pass.length >= 6){
        var band = 0, band1 = 0, band2 = 0, cont=0;
        for(var i=0;i<pass.length;i++){
            if ((pass.charAt(i)=='+' || pass.charAt(i)=='-' || pass.charAt(i)=='*') && (band == 0) ) {
                band = 1;
                cont++;
            }
            if(((pass.charCodeAt(i) >= 65 && pass.charCodeAt(i) <= 90) || (pass.charCodeAt(i) >= 97 && pass.charCodeAt(i) <= 122)) && band1 == 0){
                band1 = 1;
                cont++;
            }
            if((pass.charCodeAt(i) >= 48 && pass.charCodeAt(i) <= 57) && band2 == 0){
                band2 = 1;
                cont++;
            }
        }
        if(cont != 3){
            alert("La contrase�a debe contener numeros, letras y *,+ � -");
            return false;
        }else{
            return true;
        }
    }else{
        alert("La contrase�a debe ser minimo de 6 caracteres");
        return false;
    }
}

function verificarCedula(ced){
    var expReg  = /^[0-9]+$/;
    if(expReg.test(ced)){
        document.formRegCliente.cedula.style.backgroundColor='White';
        return true;
    }else{
        document.formRegCliente.cedula.style.backgroundColor='Red';
        return false;
    }
}

function verificarNombyApe(nombApe,obj){
    var expReg = /^[a-zA-Z ]+$/;
    if(expReg.test(nombApe)){
        obj.style.backgroundColor='White';
        return true;
    }else{
        obj.style.backgroundColor='Red';
        return false;
    }
}

function verificarDireccion(dir){
    //expReg = /^[a-zA-Z]+[' ']+[0-9]+' '*+#+' '*+(a-zA-Z0-9);
    var expReg = /^[a-zA-Z0-9# -]+$/;
    if(expReg.test(dir)){
        document.formRegCliente.direccion.style.backgroundColor='White';
        return true;
    }else{
        document.formRegCliente.direccion.style.backgroundColor='Red';
        return false;
    }
}

function verificarTelefono(tel){
    var expReg  = /^[0-9]+$/;
    if(expReg.test(ced) || tel == ""){
        document.formRegCliente.telefono.style.backgroundColor='White';
        return true;
    }else{
        document.formRegCliente.telefono.style.backgroundColor='Yellow';
        return false;
    }
}

//Funcion para calcular la Edad de una Persona
function calcEdad(){
    var now = new Date();
    var birthday = new Date(document.getElementById("fechaNac").value);
    var temp="";
    if ((navigator.appName=="Microsoft Internet Explorer") && (birthday.getYear()<2000))
        temp=(birthday.getYear()+1900)+"-"+(birthday.getMonth()+1)+"-"+birthday.getDate();
    else
        temp=birthday.getYear()+"-"+(birthday.getMonth()+1)+"-"+birthday.getDate();
    document.getElementById("edad").value=temp;
    var age = 0;

    if (now.getYear()>birthday.getYear())
    {
        age = now.getYear()-birthday.getYear()-1;
        if (now.getMonth()>birthday.getMonth())
            age++;
        else if ((now.getMonth()==birthday.getMonth())&& (now.getDate()>birthday.getDate()))
            age++;
    }

    if ((navigator.appName=="Microsoft Internet Explorer") && (birthday.getYear()<2000))
        age-=1900;
    document.getElementById("edad").value=age;

    if(now<birthday){
        window.alert("La fecha de nacimiento es invalida");
        document.getElementById("fechaNac").value="";
        document.getElementById("edad").value="";
    }
}

function validateDate(date){
    var now = new Date();
    var dateC = new Date(date);    
    
    if(now <= dateC){
        return true;
    }else{
        return false;
    }
}